home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / internet / tcppack / tcppackb.lzh / src / libnetwork / dns.c < prev    next >
C/C++ Source or Header  |  1994-08-05  |  4KB  |  164 lines

  1. /*
  2.  * dns.c
  3.  *
  4.  * Copyright (C) 1994 First Class Technology.
  5.  */
  6.  
  7. #include<stdio.h>
  8. #include<stdlib.h>
  9. #include<string.h>
  10.  
  11. #include"tcpipdrv.h"
  12. #include"network.h"
  13.  
  14. _ti_func search_ti_entry (void);
  15.  
  16. /************************************************
  17.  *                        *
  18.  ************************************************/
  19. int
  20. dns_add (long ipaddr)
  21. {
  22.   _ti_func func = search_ti_entry ();
  23.  
  24.   if (func)
  25.     return func (_TI_dns_add, (long *)ipaddr);
  26.   return -1;
  27. }
  28.  
  29. /************************************************
  30.  *                        *
  31.  ************************************************/
  32. int
  33. dns_drop (long ipaddr)
  34. {
  35.   _ti_func func = search_ti_entry ();
  36.  
  37.   if (func)
  38.     return func (_TI_dns_drop, (long *)ipaddr);
  39.   return -1;
  40. }
  41.  
  42. /************************************************
  43.  *                        *
  44.  ************************************************/
  45. struct dns *
  46. dns_get (void)
  47. {
  48.   _ti_func func = search_ti_entry ();
  49.  
  50.   if (func)
  51.     return (struct dns *)func (_TI_dns_get, NULL);
  52.   return NULL;
  53. }
  54.  
  55. /************************************************
  56.  *                        *
  57.  ************************************************/
  58. int
  59. set_domain_name (char *name)
  60. {
  61.   _ti_func func = search_ti_entry ();
  62.  
  63.   if (func)
  64.     return func (_TI_set_domain_name, (long *)name);
  65.   return -1;
  66. }
  67.  
  68. /************************************************
  69.  *                        *
  70.  ************************************************/
  71. char *
  72. get_domain_name (void)
  73. {
  74.   _ti_func func = search_ti_entry ();
  75.  
  76.   if (func)
  77.     return (char *)func (_TI_get_domain_name, NULL);
  78.   return NULL;
  79. }
  80.  
  81. /************************************************
  82.  *                        *
  83.  ************************************************/
  84. int
  85. res_query (char *dname, int class, int type, unsigned char *answer, int anslen)
  86. {
  87.   long args[5];
  88.   _ti_func func = search_ti_entry ();
  89.  
  90.   args[0] = (long)dname;
  91.   args[1] = (long)class;
  92.   args[2] = (long)type;
  93.   args[3] = (long)answer;
  94.   args[4] = (long)anslen;
  95.  
  96.   if (func)
  97.     return func (_TI_res_query, args);
  98.   return -1;
  99. }
  100.  
  101. /************************************************
  102.  *                        *
  103.  ************************************************/
  104. int
  105. res_search (char *dname, int class, int type, unsigned char *answer, int anslen)
  106. {
  107.   long args[5];
  108.   _ti_func func = search_ti_entry ();
  109.  
  110.   args[0] = (long)dname;
  111.   args[1] = (long)class;
  112.   args[2] = (long)type;
  113.   args[3] = (long)answer;
  114.   args[4] = (long)anslen;
  115.  
  116.   if (func)
  117.     return func (_TI_res_search, args);
  118.   return -1;
  119. }
  120.  
  121. /************************************************
  122.  *                        *
  123.  ************************************************/
  124. int
  125. res_mkquery (int op, char *dname, int class, int type, char *data, int datalen,
  126.          struct rrec *newrr, char *buf, int buflen)
  127. {
  128.   long arg[9];
  129.   _ti_func func = search_ti_entry ();
  130.  
  131.   arg[0] = (long)op;
  132.   arg[1] = (long)dname;
  133.   arg[2] = (long)class;
  134.   arg[3] = (long)type;
  135.   arg[4] = (long)data;
  136.   arg[5] = (long)datalen;
  137.   arg[6] = (long)newrr;
  138.   arg[7] = (long)buf;
  139.   arg[8] = (long)buflen;
  140.  
  141.   if (func)
  142.     return func (_TI_res_mkquery, arg);
  143.   return -1;
  144. }
  145.  
  146. /************************************************
  147.  *                        *
  148.  ************************************************/
  149. int
  150. res_send (char *msg, int msglen, char *answer, int anslen)
  151. {
  152.   long arg[4];
  153.   _ti_func func = search_ti_entry ();
  154.  
  155.   arg[0] = (long)msg;
  156.   arg[1] = (long)msglen;
  157.   arg[2] = (long)answer;
  158.   arg[3] = (long)anslen;
  159.  
  160.   if (func)
  161.     return func (_TI_res_sendquery, arg);
  162.   return -1;
  163. }
  164.